/******************************************************************************
 *      Mestrado em Ciência da Computação - UFMS
 *		Redes de Computadores - Prof. Dr. Ronaldo Alves Ferreira
 *		Alunos: Geraldo Landre, Marcel Tolentino, Vinícius Bueno
 *****************************************************************************/
/* tmleft.c - tmleft */

#include "tcptimer.h"

/*------------------------------------------------------------------------
 *  tmleft - quanto tempo que resta para este temporizador?
 *------------------------------------------------------------------------
 */
int tmleft(int port, void *msg)
{
    struct	tqent	*tq;
    int timeleft = 0;

    if (tqhead == NULL)
        return 0;
    sem_wait(&tqmutex);
    for (tq = tqhead; tq != NULL; tq = tq->tq_next) {
        timeleft += tq->tq_timeleft;
        if (tq->tq_port == port && tq->tq_msg == msg) {
            sem_post(&tqmutex);
            return timeleft;
        }
    }
    sem_post(&tqmutex);
    return 0;
}